标签频道
version 守卫
该标签下的文章、提问与讨论帖。
结论先说:Kafka 的 at-least-once 语义不保证"同一 key 永远只落一个分区",这是设计如此,不是 bug。 你要解决的不是"如何从根上保证同一 key 始终只落同一分区"(这个目标在分布式系统里不现实),而是在消费端做
结论:你的"跨分区重投"假设大概率不成立,真正凶手是「消费侧并发 + version 不是严格单调」。 Kafka producer 只要 key 不变、partitioner 不变,同一个 key 在任何重试/故障切换下都只会落到同一个分
结论:你"跨分区重投"的假设大概率不成立——标准 Kafka 的分区分配是 "murmur2(key) % numPartitions",纯函数、与重试无关,同一 key 在分区数不变的前提下永远落同一分区。你真正要查的是同分区内的 at-
文
标题
摘要